﻿/*
 * Authors:    Kęstutis Džiautas
 *             Edmundas Matusevičius
 * University: VU, MIF, SE, 4 course
 * Date:       2010-11-20
 * Version:    1.0
 */

namespace SyntaxAnalizer
{
    public class GraphNode
    {
        public GraphNode()
        {

        }

        /* For now OutOfOrder */
        public bool isRecursive()
        {
            return recursive;
        }
        public bool isStart()
        {
            return start;
        }
        public bool isEnd()
        {
            return end;
        }
        /*###################*/


        // name
        public string Def
        {
            get;
            set;
        }
        // definition
        public GraphNode NextDef
        {
            get;
            set;
        }
        // alternative
        public GraphNode AltDef
        {
            get;
            set;
        }
        // next
        public GraphNode Next
        {
            get;
            set;
        }


        /* For now OutOfOrder */
        public bool Recursive
        {
            set { this.recursive = value; }
        }
        public bool Start
        {
            set { this.start = value; }
        }
        public bool End
        {
            set { this.end = value; }
        }

        private bool recursive;
        private bool start;
        private bool end;
        /*###################*/
    }
}
